Computational Logical Frameworks and Generic Program Analysis Technologies
نویسندگان
چکیده
The technologies developed to solve the verifying compiler grand challenge should be generic, that is, not tied to a particular language but widely applicable to many languages. Such technologies should also be semantics-based, that is, based on a rigorous formal semantics of the languages. For this, a computational logical framework with efficient executability and a spectrum of meta-tools can serve as a basis on which to: (1) define the formal semantics of any programming language; and (2) develop generic program analysis techniques and tools that can be instantiated to generate powerful analysis tools for each language of interest. Not all logical frameworks can serve such purposes well. We first list some specific requirements that we think are important to properly address the grand challenge. Then we present our experience with rewriting logic as supported by the Maude system and its formal tool environment. Finally, we discuss some future directions of research.
منابع مشابه
A toolkit for static analysis of constraint logic programs
Generic systems for the analysis of logic programs have been proposed over the last decade or so. Considerable progress has been made in terms of frameworks, algorithms, abstract domains and implementations. A number of generic top-down procedural frameworks are widely available. However, implementation e orts for bottom-up declarative frameworks are in a preliminary stage. In this thesis we de...
متن کاملResource analysis and implicit computational complexity
Implicit computational complexity (ICC) studies machine-independent approaches to computational complexity, with emphasis on approaches based on mathematical logic. Most work consists in characterizations of complexity classes by logical systems (via the Curry-Howard correspondence). Unfortunately, all these formal systems have been studied with different, often unrelated methodologies, and few...
متن کاملIn Search of Effectful Dependent Types
Real world programming languages crucially depend on the availability of computational effects to achieve programming convenience and expressive power as well as program efficiency. Logical frameworks rely on predicates, or dependent types, to express detailed logical properties about entities. According to the Curry-Howard correspondence, programming languages and logical frameworks should be ...
متن کاملCharacterizing Patterns in Framework Development
Patterns are investigated in relation to development of applications and frameworks, and characteristics of patterns are presented in the context of analysis, design, and implementation. The results are illustrated using a framework for virtual machines. The main conclusion is that different pattern characteristics can be identified in analysis, design, and implementation of applications and fr...
متن کاملThe rewriting logic semantics project
Rewriting logic is a flexible and expressive logical framework that unifies algebraic denotational semantics and structural operational semantics (SOS) in a novel way, avoiding their respective limitations and allowing succinct semantic definitions. The fact that a rewrite logic theory’s axioms include both equations and rewrite rules provides a useful “abstraction dial” to find the right balan...
متن کامل